﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using LowLevelGraphics;

namespace LowLevelGraphics.Filter
{
    /// <summary>
    /// 
    /// </summary>
    public class LowpassHighpassEdges : MacroFilter
    {
        protected Lowpass m_Lowpass = new Lowpass();
        protected Highpass m_Highpass = new Highpass();

        /// <summary>
        /// Initializes a new instance of the <see cref="LowpassHighpassEdges"/> class.
        /// </summary>
        public LowpassHighpassEdges()
        {
            this.FilterList.Add(m_Lowpass);
            this.FilterList.Add(m_Highpass);
        }

        /// <summary>
        /// Gets or sets the lowpass weight.
        /// </summary>
        /// <value>The lowpass weight.</value>
        public int LowpassWeight
        {
            get { return m_Lowpass.Weight; }
            set { m_Lowpass.Z = value; }
        }

        /// <summary>
        /// Gets or sets the lowpass Z.
        /// </summary>
        /// <value>The lowpass Z.</value>
        public int LowpassZ
        {
            get { return m_Lowpass.Z; }
            set { m_Lowpass.Z = value; }
        }

        /// <summary>
        /// Gets or sets the highpass weight.
        /// </summary>
        /// <value>The highpass weight.</value>
        public int HighpassWeight
        {
            get { return m_Highpass.Weight; }
            set { m_Highpass.Weight = value; }
        }

        /// <summary>
        /// Gets or sets the highpass Z.
        /// </summary>
        /// <value>The highpass Z.</value>
        public int HighpassZ
        {
            get { return m_Highpass.Z; }
            set { m_Highpass.Z = value; }
        }
    }
}
